package cc.mrbird.febs.common.utils;

import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class ListUtil {
    /**
     *  两个list取重复
     * @param list1
     * @param list2
     * @return
     */

    public static <T>List<T> getRepetition(List<T> list1, List<T> list2) {
        List<T> result = new ArrayList<T>();
        for (T t : list2) {//遍历list1
            if (list1.contains(t)) {//如果存在这个数
                result.add(t);//放进一个list里面，这个list就是交集
            }
        }
        return result;
    }

    /**
     * 两个list,获取list1中没有，list2中有的
     * @param list1
     * @param list2
     * @return
     */
    public static <T>List<T> getDifference(List<T> list1, List<T> list2) {
        List<T> result = new ArrayList<T>();
        for (T t : list2) {//遍历list1
            if (!list1.contains(t)) {//如果存在这个数
                result.add(t);//放进一个list里面，这个list就是交集
            }
        }
        return result;
    }

    public static void main(String[] args) {
        List<String> list1 = Lists.newArrayList();
        List<String> list2 = Lists.newArrayList();
        list1.add("1");
        list1.add("2");
        list1.add("3");
        List<String> list3 = Lists.newArrayList();
        List<String> list4 = Lists.newArrayList();

        list3.add("2");
        list3.add("4");

      List<String> list=  getRepetition(list1,null);
       /*List l= Arrays.asList("d","s");
       String []ssss={"sss","dsada"};*/
        String []s   = list.toArray(new String[list.size()]);
        List<String> list5= getDifference(list1,list3);
        System.out.println(Arrays.toString(s));
        String []ss   = list5.toArray(new String[list5.size()]);
        System.out.println("结果"+Arrays.toString(ss));

    }
    public static void pp(){


        List<String> list1 = Lists.newArrayList();
        List<String> list2 = Lists.newArrayList();
        list1.add("1");
        list1.add("2");
        list1.add("3");
        List<String> list3 = Lists.newArrayList();
        List<String> list4 = Lists.newArrayList();
        list3.add("1");
        list3.add("1");
        list3.add("2");
        list3.add("3");
        list2= list1.stream().map(string -> {
            return "stream().map()处理之后：" + string;
        }).collect(Collectors.toList());

        list2.stream().forEach(string -> {
            System.out.println(string);
        });

        list3 = list1.stream().filter(s -> s != "1").collect(Collectors.toList());
        System.out.println(list3.toString());
    }
}
